package com.vis.wz.pdftoexcel;

import com.vis.wz.pdftoexcel.util.StringKit;
import org.dromara.pdf.pdfbox.core.base.Document;
import org.dromara.pdf.pdfbox.core.ext.extractor.DocumentExtractor;
import org.dromara.pdf.pdfbox.handler.PdfHandler;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

//@SpringBootApplication
public class Application {

    public static void main(String[] args) {
//        var path = "C:\\_work\\wyj\\vis\\vis-wz-pdftoexcel\\src\\main\\resources\\跨区域涉税事项报告表33.pdf";
//        《跨区域涉税事项报告表》.pdf
        var pathList =
                Arrays.asList(
                        "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》.pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (1).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (2).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (3).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (4).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (5).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (6).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (7).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (8).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (9).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (10).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (11).pdf"
                        , "C:\\Users\\Administrator\\Desktop\\宝子-温总\\25年10月外经证\\《跨区域涉税事项报告表》 (12).pdf"
                );
        pathList.forEach(path -> {
            // 加载文档
            Document document = PdfHandler.getDocumentHandler().load(path);
            // 获取文档提取器
            DocumentExtractor extractor = PdfHandler.getDocumentExtractor(document);
            // 提取文本信息
            Map<Integer, List<String>> map = extractor.extractText();

            // 输出文本信息
            map.forEach((key, value) -> {

//                System.out.println("第" + key + "页：");
                String string = StringKit.toString(value);
//                System.out.println(string);
                //
                System.out.println("----------------------------------------------------------\n");
                String name = StringKit.extractContentBetweenKeywords(string, "纳税人名称", "纳税人识别号");
                String area = StringKit.extractContentBetweenKeywords(string, "经营地址", "经营方式");
                String handlerUser = StringKit.extractContentBetweenKeywords(string, "跨区域涉税事项联系人", "座机");
                String date = StringKit.extractContentBetweenKeywords(string, "纳税人（盖章）", "税务机关事项告知：");
                String projectName = StringKit.extractContentBetweenKeywords(string, "合同名称", "合同编号");
                String taxNumber = StringKit.extractContentBetweenKeywords(string, "跨区域涉税事项报验管理编号：", "经办人：");
                String money = StringKit.extractContentBetweenKeywords(string, "合同金额", "合同有效期限");
                System.out.println("公司名称:" + name);
                System.out.println("地区（省/市）:" + area);
                System.out.println("经手人:" + handlerUser);
                System.out.println("开证日期:" + date);
                System.out.println("项目名称:" + projectName);
                System.out.println("外出经营活动税收管理证明号码:" + taxNumber);
                System.out.println("合同金额:" + money);
                System.out.println("\n\n");
            });


        });


        //        SpringApplication.run(Application.class, args);
    }
}
